/*
* 更加简单在方法二的基础上又进行了改进
* 只要证明两个字符串交换顺序拼接以后相等即可说明他们一定有公因子子串，那么也即为最大公因子子串
* 就是在方法二中Solution.check(str1, gcd) && Solution.check(str2, gcd) &
*     & str1.substring(0, gcd).equals(str2.substring(0, gcd))这个判断条件
*     转化为判断两个字符串串交换顺序拼接是否相等。
* 具体思路参照官方解答方法3
* */

public class Solution3 {
    public String gcdOfStrings(String str1, String str2) {
        int len1 = str1.length();
        int len2 = str2.length();
        int gcd = Solution2.gcd(len1,len2);
        if (str1.concat(str2).equals(str2.concat(str1))) {
            return str1.substring(0, gcd);
        }
        return "";


    }
}


// 希望你开心点，一起加油！
/*
     _--_  _--_
    -    \/    -
     -        -
       -    -
         -
*/
